package cn.juque.systemservice.entity.base;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * @author nuoka
 */
@Data
public class TreeEntity extends Model<TreeEntity> implements Serializable {

  /**
   * 节点的 id,它对于加载远程数据很重要.【如:orgId】
   */
  @TableField(exist=false)
  private String id;
  /**
   * 显示的节点文字.【如:orgName】
   */
	@TableField(exist=false)
  private String text;
  /**
   * 节点图标
   */
	@TableField(exist=false)
  private String iconCls;
  /**
   * 节点状态, 'open' 或 'closed',默认是 'open'.当设为 'closed' 时,此节点有子节点,并且将从远程站点加载它们.
   */
	@TableField(exist=false)
  private String state;

  /**
   * 带checkbox的树,指示节点是否被选中.
   */
	@TableField(exist=false)
  private boolean checked;
  /**
   * 给一个节点追加的自定义属性,一般情况应该用不上
   */
	@TableField(exist=false)
  private Map<Object, Object> attributes;
  /**
   * 定义了一些子节点的节点数组.一般是前台js要用.
   */
	@TableField(exist=false)
  private List<TreeEntity> children;

  @Override
  public Serializable pkVal() {
    return null;
  }
}
